In recent years, computer systems are increasingly being designed with multiple processors and other "smart" devices sharing access to common facilities such as data busses or memory devices. This trend is due in part to the development of smaller, less expensive yet more powerful processing circuits. The advantage of a system design in which processors and other smart devices share a data bus is that the system can be designed with fewer lines, which saves space and, usually, cost. In addition, operating the processor and other smart devices in parallel increases the computational power and speed of a computer system.
The advantages stated above are not confined to large multi-processor computer systems. The desire to increase the speed and computational power of personal computers has led to PC architecture designs in which the processor and other smart devices are operated in parallel.
However, since two or more device can not successfully transmit over a bus at one time or concurrently make use of other shared facilities, some method of arbitration is required. Although numerous arbitration systems are disclosed in the prior art, the present invention provides a simple and inexpensive circuit for quickly arbitrating between multiple devices. The circuit has primary applicability to use in personal computers.